import { routerRedux } from "dva/router";
import { query } from "../services/error";

export default {
  namespace: "error",

  state: {
    error: "",
    isloading: false
  },

  effects: {
    *query({ payload }, { call, put }) {
      yield call(query, payload.code);
      // redirect on client when network broken
      yield put(routerRedux.push(`/exception/${payload.code}`));
      yield put({
        type: "trigger",
        payload: payload.code
      });
    }
  },

  reducers: {
    trigger(state, action) {
      return {
        error: action.payload
      };
    }
  }
};
